const path = require('path');
module.exports = ({ file }) => {
	// vant 是按照375的尺寸
	const designWidth = file.includes(path.join('node_modules', 'vant')) ? 375 : 750;
	return {
		plugins: {
			'postcss-import': {},
			autoprefixer: {},
			'postcss-url': {},
			'postcss-aspect-ratio-mini': {},
			'postcss-write-svg': {
				utf8: false,
			},
			// 'postcss-cssnext' : {},// 加上后找不到全局变量
			'postcss-px-to-viewport': {
				unitToConvert: 'px', // 需要转换的单位
				viewportWidth: designWidth, // 视窗的宽度，对应的是我们设计稿的宽度，一般是750
				viewportHeight: 1334, // 视窗的高度，根据750设备的宽度来指定，一般指定1334，也可以不配置
				unitPrecision: 3, // 指定`px`转换为视窗单位值的小数位数（很多时候无法整除）
				viewportUnit: 'vw', // 指定需要转换成的视窗单位，建议使用vw
				fontViewportUnit: 'vw', // 字体使用的视口单位
				selectorBlackList: ['.ignore', '.hairlines', '.donut-'], // 指定不转换为视窗单位的类，可以自定义，可以无限添加,建议定义一至两个通用的类名
				minPixelValue: 1, // 小于或等于`1px`不转换为视窗单位，你也可以设置为你想要的值
				mediaQuery: false, // 允许在媒体查询中转换`px`
				// exclude: /(\/|\\)(node_modules)(\/|\\)/, // 排除node_modules文件中第三方css文件
			},
			'postcss-viewport-units': {
				filterRule: rule => rule.selector.indexOf('::after') === -1 && rule.selector.indexOf('::before') === -1 && rule.selector.indexOf(':after') === -1 && rule.selector.indexOf(':before') === -1 && rule.nodes.findIndex(i => i.prop === 'content') === -1,
			},
			cssnano: {
				'cssnano-preset-advanced': {
					// 'preset' : 'advanced',
					zindex: false, // css zindex 失效
					autoprefixer: false,
				},
			},
		},
	};
};
